var form = layui.form
//获取文章的请求参数
var data = {
    pagenum: 1, //页码值,获取第n页的数据
    pagesize: 3, //每页几条数据
}

//加载用户列表
function userList() {
    $.ajax({
        type: 'get',
        url: 'admin/users',
        data: data,
        success: function (res) {
            var str = template('tpl_list', res);
            $('tbody').html(str);
            //res.total 表示总数
            //当ajax请求成功后实现分页
            showPage(res.total);
        }
    })
}
userList();
//----------------------------------使用layui分页
var laypage = layui.laypage;

function showPage(t) {
    //执行一个laypage实例
    laypage.render({
        elem: 'page', //注意，这里的 page 是 ID，不用加 # 号
        count: t, //数据总数，从服务端得到
        limit: data.pagesize, // 每页显示几条数据
        curr: data.pagenum, // 当前页，比如3，效果就是让第3页背景绿色，表示选中
        limits: [2, 3, 5, 10], //下拉框中的条数
        layout: ['limit', 'prev', 'page', 'next', 'count', 'skip'], //自定义排版
        //分页的回调(showPage调用的时候触发一次,后续点击页码也会触发)
        jump: function (obj, first) {
            //obj包含了当前分页的所有参数，比如：
            // console.log(obj.curr); //点击的页码,得到当前页，以便向服务端请求对应页的数据。
            // console.log(obj.limit); //得到每页显示的条数

            //首次不执行,不加判断会死循环
            if (!first) {
                //do something
                //修改当前页码
                data.pagenum = obj.curr; //点了三 obj.curr就是3 赋值给请求参数
                //修改每页显示条数
                data.pagesize = obj.limit //比如修改了为5,即时更新ajax请求参数
                //首次调用会死循环
                userList();
            }
        }
    });
}
//-------------------------------------删除功能
//删除功能
$('tbody').on('click', 'button:contains("删除")', function () {
    // 获取id
    var id = $(this).data('id');
    var that = $(this);
    //使用layui提示
    layer.confirm('你确定删除吗?', function (index) {
        //使用dom的方式删除该行  要提前移除,不然等更新完数据就晚了,只是单纯的移除元素
        that.parents('tr').remove();
        //发送ajax请求
        $.ajax({
            type: 'delete',
            url: 'admin/users/' + id,
            success: function (res) {
                // console.log(res);
                // 无论删除成功，还是失败，都给出提示
                layer.msg(res.message);
                // 删除成功，重新渲染页面
                if (res.status === 0) {
                    //如果检测到tbody里面没有tr了,说明当前页没有数据了,进行操作获取上一页的数据
                    if ($('tbody').children().length <= 0) {
                        data.pagenum--;
                        if (data.pagenum == 0) {
                            return;
                        }
                        userList();
                    }
                }
            },
        })
        //关闭弹层
        layer.close(index);
    });
});
//-----------------------------------------重置密码
//设置弹层
$('.layui-table tbody').on('click', '.layui-btn-normal', function (e) {
    var id = $(e.target).data('id')
    var index = layer.open({
        type: 1,
        title: '重置密码',
        content: $('#repwd-form-tpl').html(),
        area: ['500px', '250px']
    })
    // 重置密码
    $('#repwd-form').on('submit', function (e) {
        e.preventDefault();
        $.ajax({
            type: 'put',
            url: 'admin/users/' + id,
            data: {
                password: $('#repwd-form input[name=pwd]').val()
            },
            success: function (res) {
                // 无论修改成功还是失败，都给出提示
                layer.msg(res.message);
                // 关闭弹层
                layer.close(index);
            }
        })
    })
})
//表单验证
form.verify({
    //两次新密码必须一致(确认重复密码使用)
    same: function (val) {
        if (val !== $('#repwd-form input[name=pwd]')) {
            return '两次新密码不一致'
        }
    }
})